{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "# Optional Lab: Classification\n",
    "\n",
    "In this lab, you will contrast regression and classification."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "%matplotlib widget\n",
    "import matplotlib.pyplot as plt\n",
    "from lab_utils_common import dlc, plot_data\n",
    "from plt_one_addpt_onclick import plt_one_addpt_onclick\n",
    "plt.style.use('./deeplearning.mplstyle')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## Classification Problems\n",
    "<img align=\"left\" src=\"./images/C1_W3_Classification.png\"     style=\" width:380px; padding: 10px; \" > Examples of classification problems are things like: identifying email as Spam or Not Spam or determining if a tumor is malignant or benign. In particular, these are examples of *binary* classification where there are two possible outcomes.  Outcomes can be  described in pairs of 'positive'/'negative' such as 'yes'/'no, 'true'/'false' or '1'/'0'. \n",
    "\n",
    "Plots of classification data sets often use symbols to indicate the outcome of an example. In the plots below, 'X' is used to represent the positive values while 'O' represents negative outcomes. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "x_train = np.array([0., 1, 2, 3, 4, 5])\n",
    "y_train = np.array([0,  0, 0, 1, 1, 1])\n",
    "X_train2 = np.array([[0.5, 1.5], [1,1], [1.5, 0.5], [3, 0.5], [2, 2], [1, 2.5]])\n",
    "y_train2 = np.array([0, 0, 0, 1, 1, 1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "Canvas(footer_visible=False, header_visible=False, toolbar=Toolbar(toolitems=[('Home', 'Reset original view', …",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAEsCAYAAAA7Ldc6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAA9hAAAPYQGoP6dpAABPeUlEQVR4nO3deVxUdd//8dcAai4oLoDIoqa5hqlkuaCGpeKSS7gkZS5XZpqIVz9br7vybrG9ME2zK82lRdSrBZcLNUvDLK8rUzOXcglEUNQUwQUTmN8fc0MMzLAoc2aA9/Px4HF1zvmeM59znGu+53POdzGlp6ebERERERERMYCbswMQEREREZGqQwmIiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgYRgmIiAO9/PLLBAcHl3m/hIQEvLy82LJlS4llvby8+Pjjj68humv38ccf4+XlVeb9fv75Z15++WXOnTtX/kGJSIW0du1a5s2b5+wwDJOUlISXlxcJCQll3jc4OJiHHnqoxHJTpkxh0KBB1xLedbnW+ujll19m69atDohIXJUSEBEHeuCBB/joo4+cHYbL2Lt3L6+++qoSEBHJt27dOubPn+/sMAzTuHFjNm3axC233OLsUFzGq6++ek0JmVRcHs4OQKQyunLlCjVq1MDf3x9/f39nhyMiIk5mNpu5evUqNWrUoEuXLs4OR8Sp9AZEDPXVV1/Rt29fGjduTFBQEJGRkRw6dMiqzKBBgwgPD+frr7+mZ8+e+Pn5ERoaavP17LZt2xgyZAgBAQE0adKEe+65h/379xcbw5w5c/D29ubs2bNFtt1+++088MAD+cuzZ8+mV69eBAUFceONN3L33Xfz3//+12qfvOZScXFxTJ8+nRYtWnDTTTcBtptgleaYec6fP8+UKVNo2rQpgYGBTJo0yWbc5XFdwPLavl27duzYsYOwsDB8fX0JDg5m4cKFJe6bkZHBY489Rps2bfDx8eHWW2/l3XffxWw2A5ZmW4888ggAnTt3xsvLCy8vL5KSkko8tohUTlOmTOHTTz8lNTU1/zchODiYnJwcgoKCeP311/PL7tmzBy8vL8LDw62O0apVK/73f/83f/nkyZNMnjyZG2+8ER8fH7p3705sbGyxcZw8eZKGDRva/K2LiYnBx8cn/7f366+/ZuTIkbRu3Ro/Pz+6devG3LlzycnJsdovr7nU8uXL6dKlC97e3mzYsMFmE6zSHjPP0qVL6dSpE76+vvTq1Ytvv/222PMD+OOPP3j00Udp27YtPj4+dOnShSVLlpS4X14d9+WXX15TfRQbG0uPHj3w9fXlxhtv5KGHHuLkyZP52/Oa877xxhv534GXX365xONKxaYERAzz1VdfMWrUKGrXrs3ixYt58803OXDgAOHh4aSmplqV/f3333n66aeZNm0ay5cvp1GjRtx3331WP3YbNmxg6NCh1KlTh4ULF/LPf/6TCxcuMGDAAI4fP243jpEjR5KTk8Nnn31mtX737t38+uuvjB49On9damoqU6ZM4aOPPmLhwoXcdNNNDBw4kF9++aXIcZ944gnMZjMLFy4stjlBWY759NNPYzKZWLRoEf/zP//Dv//9b6sEyZZrvS55MjMzmThxImPGjOHjjz8mNDSUJ554oth2vbm5uYwePTo/yVixYgV33nkn//jHP3jhhRcA6N+/PzNnzgQsleemTZvYtGkTjRs3LjEmEamcHn/8cfr160ejRo3yfxM++ugj3N3d6datm9WN9bZt26hZsyY7d+7k4sWLAPz666+cOnWKnj17AnDx4kUGDRrEV199xbPPPsvHH39M+/btmTx5crE3240bN6Z37942E5WVK1fSt29fGjRoAEBiYiK9evXinXfeYeXKlUyYMIF33nkn/7euoISEBObPn88TTzzBv/71L26++Wabn1+WY3733Xe8++67PPPMMyxatIgaNWowcuTIIg/zCsrIyKB///5s3LiRJ598kpUrVxIeHs6jjz5aqgdMcG310ZIlS5g8eTKtW7dm+fLlzJo1i6+//ppBgwZx4cIFADZt2gRAZGRk/negpONKxacmWGKYF198kWbNmrF69Wo8PCxfvS5dunDrrbcyb948Zs+enV/2jz/+YP369bRo0QKAW265hdatW+cnMQBPPvkkPXr04JNPPsnfr2fPnnTs2JF58+bxyiuv2IyjSZMm9OzZk9jYWB588MH89StWrKBBgwb069cvf13BjpG5ubmEhYVx9OhRli9fzquvvmp13M6dOzN37twSr0NZjtmmTZv8ZOauu+6ifv36PPTQQ2zdupXevXvbPP61Xpc8mZmZxMTEEBERkf+5J06c4OWXXyYyMhKTyVRkn40bN/L999/z7rvvct999wHQp08fLl26xLx583jkkUdo1KgRzZs3ByxPBm+88caSLpWIVHLNmzenYcOGVK9evUizpJ49e/Liiy/mN2lNSEhgzJgxrFixgh9++IE777yThIQEqlWrxu233w5Y3rQeOXKENWvW5Cclffv25dSpU7z44ouMHTsWd3d3m7GMHj2ayZMnc+jQofy32D///DP79+/nySefzC83ceLE/P82m81069aNunXr8sQTT/Dss8/i5vbXs9309HS2bNmCr69v/jpbb33LcsxTp07x008/ERgYCEDv3r0JDg7m9ddf5/3337d5bu+99x7Jycls3749v1694447OH/+PK+++ip/+9vf8utle8paH+Xk5PDSSy8RGhrK4sWL89ffdNNNDBgwgI8++oiHH344/9+9SZMmappWhegNiBji4sWL7Nmzh3vuucfqR65Zs2bcfvvtfPfdd1blW7Rokf8jCeDt7Y23tzcpKSkAHDlyhN9//52RI0eSnZ2d/1erVi26dOnC9u3bi41n9OjR/Pe//+XIkSMAZGdn89lnnxEREUG1atXyy3377bcMHTqUli1b0qBBAxo1asSWLVs4fPhwkWMOHjy4VNeiLMccNmxYkWU3Nzf+85//2Dz29V4XAHd3d4YMGWK17p577uH48eNF3lTl2b59O25ubowYMcJq/ahRo/jzzz/txisiYk/Pnj3Jyspix44d5OTksH37dvr06cPtt9+e/2YkISGBkJAQateuDVh+i/IeMhU0atQozpw5w8GDB+1+3uDBg6lTp47VW5DY2Ngizb5OnTrFzJkz6dChAz4+PjRq1IiHH36Y8+fPc/r0aatj3nrrrVbJhz1lPWZe8gHg6elJv3797DblBdi8eTMhISE0bdrUqm648847OXv2bLHXJU9Z66NDhw5x+vTp/IeGebp160ZgYGCRel+qFr0BEUOkp6djNptt/hD7+vqSnJxsta5+/fpFylWvXp2srCyA/B/kqKgooqKiipQNCAgoNp4hQ4Ywc+ZMYmNjefrpp/n66685deqUVfOrPXv2MGLECHr27Mlbb72Fn58fHh4evPTSS1y+fLnIMUvTlKisx/Tx8SlyDby8vDhx4oTN41/vdQFLe9yCSVjBOE6cOGGzU/25c+eoX78+NWrUsFqf9++tUa9EpKyCg4Pz+0p4enpy4cIFQkND+e2331i7di1ms5lt27YxYcKE/H3OnTtnt57J225P7dq1GTRoECtXruQf//gHubm5/Otf/+Kee+6hevXqgOXtxJgxYzh+/DiPP/44bdq0oVatWuzcuZOZM2fm11F5SlMvlPWYheuFvHX26gWw1A1Hjx6lUaNGNreXpi9HWeujvGtt799D9ULVpgREDOHl5YXJZCItLa3ItrS0tPy2taWVV/65557jjjvuKLK98A10YXXq1GHQoEGsWrWKp59+mpUrV9KyZUtuvfXW/DJr1qzB3d2dTz/9NL/yAcvbnIKvw/PYappUWFmPeerUKavlP//8k/T0dPz8/Gwe/3qvC1iSxatXr1qVzYvD3ufWr1+fc+fO8eeff1qdV96/d1n/fUVE3Nzc6NGjR34CkpeQ9OzZk5deeonvv/+eP/74w+ptR/369W2+TS7tb9G9995LbGws33//PVlZWZw8edLqwdTvv//Ozp07ee+997j33nvz1+/du9fm8UpTL5T1mIXrhbx19n6fwXLe3t7edpvgtmzZssQ4y1of5T1ItFfvd+rUqcTPlMpLTbDEELVr16Zjx458+eWXVqN6HDt2jP/85z/06NGjTMe76aabCAoK4sCBA3Tq1KnIn72OfgWNHj2a33//nc2bN7N+/XqrSgbg0qVLuLu7WyUGv/3223U1JyrrMb/44osiy7m5udx22202y5fHdcnJySEuLs5q3WeffZY/opYtPXr0IDc3t0i8q1atsmrbnfeGxNbbHhGpmmrUqGH3N6Fnz57s3LmT+Ph4evXqBUCnTp2oVasWr776KjVq1LD6PezRowcpKSn88MMPVsdZvXo13t7etG7duthYevfujZ+fH7GxsaxYsYLmzZvn9y8By284WD/MMZvNVn3uyqqsx/zxxx+tBhTJzMxk48aNxfafuPPOO/ntt98ICAiwWTd4enqWGOe11Ec+Pj5FBnzZsWMHycnJVvV+9erVVS9UMXoDIob5xz/+wahRoxg9ejR/+9vfuHjxIi+//DJ169Zl2rRpZTqWyWTijTfeIDIykqtXrzJs2DAaNmzI6dOn2bFjB02bNmXKlCnFHiNvmNmoqCguX75cpJ1q3759mT9/PpMnT2bs2LEkJyfz6quvWrW9LauyHvPgwYNMnTqViIgIDh8+zIsvvkiPHj3sdkAvj+vi6enJc889xx9//EGLFi1YvXo1W7ZsYf78+Xaf5vXt25du3brx6KOPcubMGdq2bcvGjRtZtmwZjz76KA0bNgTIr/w/+OADxowZQ7Vq1Wjfvr3VWxMRqVpat27NuXPnWLRoEZ06daJGjRq0b98esCQgV69eZfv27cyYMQMADw8PunbtyqZNm+jRowc1a9bMP1ZkZCTvvfceY8eO5ZlnnqFJkyasXLmSb775hpiYGLsd0PPk9WVbtmwZ2dnZRZqytmrViqCgIJ5//nnc3NyoWbMmS5cutfmUv7TKekwfHx/uuecennzySapXr86cOXO4dOkSjz/+uN3PmDp1Kp9//jkDBgxg6tSptGzZkkuXLnHo0CF++OGHUs1eXtb6yN3dnaeffpoZM2bw0EMPMWrUKFJTU3nxxRdp0aJF/oAlYPkObNy4kbvuugsvLy8aN25c7Bsdqfj0BkQMc9ddd7Fy5UrOnz/PhAkTePTRR2nVqhXx8fHX9EPTr18/1q9fz6VLl5g+fToRERE8++yznDp1yqoplT3u7u5ERESQmppK165dadq0qdX2sLAw3nzzTXbu3Mno0aNZsGABL7zwAt26dStzrNd6zJdffhmz2cyECRN44YUX6N+/P8uWLSv2M673unh6erJo0SI+/fRTIiMjSUhI4JVXXiEyMtLuPm5ubsTGxjJmzBjmzJnDqFGj2LhxIy+99BLPPPNMfrng4GCefPJJ4uPjCQ8PJywsrNh2yyJS+T3wwANERETw/PPP06dPH6tmSO3ataNhw4Z4eHhY/U7mNbsKDQ21Olbt2rVZt24dYWFhzJo1i8jISH755RcWLlzI+PHjSxXP6NGjOX/+PBcvXizyZrx69ep8+umn+Pv788gjjxAVFUVgYGCREQzLoqzH7NGjB9OmTeP5559n4sSJZGVlsWrVqmKbUdWrV4+NGzfSt2/f/FEOp02bxvr16/PfLJXkWuqj8ePHs3DhQvbt20dkZGR+8+B169ZRp06d/HKvv/46tWrV4t577yUsLKxU85NIxWZKT083OzsIEXENU6ZMYevWraWatFBERCq/hIQE7r77br744gubfQtFroXegIiIiIiIiGGUgIiIiIiIiGHUBEtERERERAyjNyAiIuLSXnnlFby8vOz2TVq2bBmdO3emY8eOREdHk52dbXCEIiJSFkpARETEZe3evZsff/yRgIAAm9sTExOZPXs28fHx7Nq1i7S0NJYvX25wlCIiUhZKQERExCVduXKFxx57jDfeeMPuHDRxcXEMHjwYHx8fTCYTEydOZPXq1QZHKiIiZaEEREREXNLs2bMZNWoUzZo1s1smOTnZaiLPoKAgq1miRUTE9SgBERERl/Of//yHn376iQcffLDEsgXfjpjNGldFRMTVKQERERGX891333Ho0CE6dOhAcHAwqampREREsGnTJqtygYGBHDt2LH85OTnZbn8RERFxDVViGN7atWvj5qZcS0TEltzcXC5evOjsMIoVHBxMbGws7dq1s1qfmJhIeHg43377Ld7e3owZM4Z+/foxceLEYo+nekFExD5H1wseDjuyC3Fzc1NFIyJSSURFRTFgwAAGDhxIs2bNeOqpp+jfvz+5ubn06tWLsWPHlngM1QsiIs5TJd6AeHp6qqIREbEjNzeXzMxMZ4dhKNULIiL2Obpe0K+viIiIiIgYpko0wSosNzeXtLS0KjdbroeHB76+vnrqJyIiImJHVb1PrFevHnXr1jXks6pkApKWloanpyd16tQpqSDEx8O4cfbLLF0K4eHg61u+QTrAhQsXSEtLw8/Pz9mhiIiIiLikqnifaDabOXPmDKdOncLHx8fhn1clH4VnZ2eX7ksVFgbjx8OcObbLzJlj2R4WZinv4urUqVPlsnkRERGRsqiK94kmkwlvb2+uXLliyOdVyQSkRHlfqgMHLMszZhT9cs2ZY1kPlnIV4MslIiIiItdJ94nXTQlIYYW/VHkKfrkKfqnyOPHLNWLECJo0aYLJZOLChQuGf76IiIhIlVDB7hNd9R5RCUhh8fFFv1R5ZsyAG28s+qXKc+CAZX+DPfzww+zevdvwz5UKIC3N0v60OEuXVp6nMlXtfKFqnrOIiLNUsPtEV71HVAJS2LhxEBNjf/vvv9vfFhNTfEckO15//XUmT56cv5yenk6jRo04e/Zsqfa/6667DOkwJBVMJWufWqKqdr5QNc9ZRMSZDL5PrKz3iFVyFKwSRUdb/tdeBmtLTMxf+5XRpEmTaN26Na+99hr16tVj0aJFDB06lJMnT9KnTx+b+3Tq1IkPP/zwmj5PqgBb7VPB+jtqq33qN9+4/EgdNlW184Wqec4iIq7AwPvEynqPWCVnQk9OTiYwMLDkHW214bPlOpKPPFOnTqV169ZMnz6dm266iVWrVtGpU6cyHcNkMpGZmVnsyA2lPnepuOy1T4W/vqv2vttt21a8G9Sqdr5Q7uesmdBFRP7iaveJRt0jwl/nXmVmQn/88ccJDg7Gy8uL/fv32y23bNkyOnfuTMeOHYmOjnbssLLR0dC8efFlmje/7uQDYPr06SxYsIB169bh6+tLp06d2L9/Px07drT5N2HChOv+TKmkKlj71OtW1c4XquY5i4i4GoPuEyvjPaLLNMEaOnQo0dHRhIeH2y2TmJjI7Nmz+fbbb/H29mbMmDEsX77ccRd6zpzi2/KBZfucOdf95WrTpg3NmjVjypQpvPbaawC0a9fOJTsOiYsbNw7S0+3fgDqgH5NTVbXzhap5ziIirsag+8TKeI/oMm9AevTogb+/f7Fl4uLiGDx4MD4+PphMJiZOnMjq1asdE1BpX6uB7fGfr8GkSZPIzs5mxIgRZdpvyJAhBAQEANC6dWvuuOOO645FKrjo6OI7ydlSDk0JnaaqnS9UzXMWEXEVBt8nVrZ7RJd5A1IahdvkBQUFcfz48fL/oLJ8qfLY6gBaRps3b2bq1KlUq1atTPvFxcVd82dKJVaWTnKV4ca0qp0vVM1zFhFxNifcJ1a2e0SXeQNSWiaTKf+/zWYH9J9furT4L1Vxbf1mzCh5PH4bUlNTadOmDbt372ZGWb/QIsUxsB+TS6hq5wtV85xFRJzF4PvEynqPWKESkMDAQI4dO5a/nJycnP9aqdyEh1tGibElJgaOHrXf7KFtW8v+ZdSkSRMOHjzI9u3b8fT0LPP+InaVpX1qZVDVzheq5jmLiDiLwfeJlfUesUIlIEOGDGHt2rWcOnUKs9nM4sWLiYiIKN8P8fW1DFFZ+MsVE0N2VDQXr4J5uo221xV1OE+pvJzQj8mpqtr5QtU8ZxERZyrmPjH/TbOtPnq6T7TiMgnIzJkzadeuHampqQwbNix/fOOoqCjWr18PQLNmzXjqqafo378/HTt2xNvbm7Fjx5Z/MAW+XL/53MSjc3fiXz+aaguhzgdQ433oERTN0nc2cLnaDfpSieu51vapFfUGtaqdL1TNcxYRcQWFkhBzTAy/3B/N+iRYkwg70uDPaQWSEN0nFqGJCO04dQke2pjFlyduKLZcA7J4udOfPNS1brnE6miaiLAKWLoUxo+3v7158+Kb7CxZUrGGaa1q5wvlfs6aiFBE5C+lvVe6kHKKJf/+nfl1bufAOett3jfA39rC1AOrCBzYq8IkH1VuIkJXkpgBXT+jxOQD4Cw3MHlXXR7bDo7oEy9SZk7ox+RUVe18ocqc8/Dhw+nevTuhoaEMGDCAn3/+uUiZhIQE/Pz8CA0Nzf+7fPmyE6IVkapk7x9w8zc+RF0tmnwAnM6CV3ZB6+yRxGZWjOTDSBVqGF4jpF+B8HXwexmTvjf2gG8tmNnRIWGJlF7eq+GwMOvZsgu3TwXrJjwV9RVxVTtfqDLn/OGHH+Ll5QXA2rVrmTZtGt9++22Rcq1bt2bLli3GBiciVdb+s9D7Szh3peSyl7Ph3k2Qa4YxNzk+topCb0AKmf0T/Jpuva5udXisI+y4Bw5FQmxfuNPGnIlP7YBjTmjFsGPHDjp27EirVq248847OXHihPFBiGsp3EnO1hwQ0ZWofWpVO1+oEuecl3wAZGRkqMmUiDjd1Ry4Z4Pt5KN+DWhS2/Z+47+GQ+kODc0mV71H1K95AZez4YMD1uva14eD98Jr3eA2X2hZD0a1hK+GwIdh1mWzc+H9/cbFC5a5UO677z5iYmL47bffGDBgAI8++qixQYhryrtBXbLE/hwQ0dGW7RXsxtSmqna+UCXOefLkybRv356XXnqJBQsW2Cxz+PBhevXqRVhYGB988IHBEYpIVfJFYtEH1Z0bwVd3wx8TIOUB2DcaRre0LvNnLszZa1SUFq58j6hO6AUsPQjjv7Fe98toaN/A/rH/9g0sPvjXsm9NSB4L1dxLH9/rr7/O4cOHWbhwIQDp6em0bNmS3377jQYNivlw4L///S/jx49n3759AGRmZuLj40NGRobN2TLVCV1ECqsIndA/+eQTPv/8c1atWmW1PiMjA7PZTL169UhJSWHkyJE89thjDB8+vNjjqRO6iNhT3L1S2JewJfWv5bb14ccIqFXolststrz1WPbbX+s8q1kSFM/qpY/FyHtEUCd0p9h03Hq5b0DxyQfA3ztYL6ddhr1ny/a5kyZN4osvvuD8+fMALFq0iKFDh3Ly5Ek6duxo82/ChAkAHDt2jKZNm+Yfy9PTE09PT5d5xSYiUh4iIyNJSEjg7FnrH9i6detSr149APz9/RkxYgTbt293RogiUsll/GmdfAD8o3PR5APAZILnbwNTgXWZV2FratGyxams94jqhF7AqUIDp/Sx0c+jsJsbWoZaO51l/zgl8fLyIiIigiVLljB9+nQWLFjAqlWraNeuHbt37y5xf5PJZLVs1nBcIlLBZWRkcPHiRfz8/ABYs2YNDRo0oH79+lblTp48iY+PD25ubmRmZrJhwwbuv/9+Z4QsIpVc2qWi6+5uZr98U0/o0BD2/PHXupM2jlGcynqPqASkgEL/RuSW8t8op1A5k+1ixZo+fTrDhg2jRYsW+Pr60qlTJ/bv309kZKTN8p06deLDDz8kKCiIxMTE/PWZmZlkZmbmV9oiIhVRRkYGDzzwAFlZWZhMJho1asSKFSswmUxERUUxYMAABg4cSFxcHIsXL8bd3Z2cnByGDh2qBEREHKLwfSKUfK9YeLutY5SkMt4jKgEpwLem9fKm4/B0SPH7/HQazhYaCcG3Vtk/u02bNjRr1owpU6bw2muvAZQquw0JCSErK4stW7Zwxx13sHDhQoYNG2a3bZ+ISEUQEBDA119/bXPb3Llz8//7oYce4qGHHjIqLBGpwhrXsjxkLphTfP47TGhju/yR80Wb5TfRPSKgPiBWwgv1N9qSCjtPF7/PW3usl/1rw80l9BuxZ9KkSWRnZzNixIhS7+Pm5sZHH31EdHQ0rVq1Yt26dbz55pvXFoCIiIiI2FSnGvQtdK/44k44b2NIXrPZMj1DQV7VoXeTa/vsynaPqDcgBUS0gBnfWffnuHcTbBwMzesWLf/Oz/DxIet1D7UDj2tM6zZv3szUqVPLnJl269aNPXv2lFxQRERERK7Z1PawMfmv5aMZcPtn8NJtMLQ5uJtgRxo8vxP+fcx63wltbHdYL43Kdo+oBKSAGu4wub0lm81z+Dy0XQHjWsOIG6HhDZa3Iu/vhx9PF93/wbZl/9zU1FT69OlDgwYNePXVV6/vJERERETEIQY3tXQs/7lAx/Jf02HERssD6BpucDG76H61PCC6Q9H1Jams94hKQAp5ohOsTYLdZ/5adyXHknCUNMng293tz4BZnCZNmnDw4MGSC4qIiIiI07i7wefh0P0zy9QLBWXnWv6K7GOCT++yjIpVVpX1HlF9QAqpUw3WDbTMgF4WL9wGU252TEwiIiIi4hpurAvbhkMbr5LL1qsOcQNgSHOHh1WhKAGxoUltyxdrbCtL1lqcgNqWrPZ/ShgtS0REREQqh5b1YPcoWNYHuvoW3d7ME17pCocjYWDToturOlN6erprzEjiQJ6enri5/ZVrnThxAk9PT+rUqVPivqkX4Z/7IfYIHMuErByoXwO6+MDkdjCo6bV3OjfahQsXXGb8ZxFxHbm5uWRmZjo7DEMVrhdERPKU5T4xz7FMSL4A2WbwqQmtvcDtWiaGcxKz2cyZM2cwm834+Pg4vF6okglIbm4uaWlpZGfb6CVUiXl4eODr66tKV0SsKAEREflLVb1PrFevHnXrWoZ9dXS9UCU7obu5uektgIiIiIgUoftEx9PjHxERERERMYwSEBERERERMYwSEBERERERMYwSEBERERERMYwSEBERERERMYwSEBERERERMYwSEBERERERMYwSEBERERERMYwSEBERERERMYwSEBERcUnDhw+ne/fuhIaGMmDAAH7++Web5ZYtW0bnzp3p2LEj0dHRZGdnGxypiIiUhcskIEeOHKFfv36EhITQp08fDh48WKSM2WzmmWeeoWvXrnTv3p3Bgwdz9OhRJ0QrIiKO9uGHH7J9+3a2bdvGI488wrRp04qUSUxMZPbs2cTHx7Nr1y7S0tJYvny5E6IVEZHScpkEZMaMGYwbN46dO3cSHR1NVFRUkTLr169n+/btJCQksH37dnr37s3zzz/vhGhFRMTRvLy88v87IyMDN7eiVVZcXByDBw/Gx8cHk8nExIkTWb16tYFRiohIWXk4OwCA06dPs2fPHj7//HMAhgwZwmOPPUZSUhJNmza1KnvlyhWysrLw8PAgMzOTJk2aOCNkERExwOTJk9m2bRuAzcQiOTmZwMDA/OWgoCCOHz9uWHwiIlJ2LpGApKSk4Ofnh4eHJRyTyURAQADHjx+3SkAGDBjAtm3baN26NXXq1MHPz49169Y5K2wREXGwhQsXAvDJJ5/w7LPPsmrVqiJlTCZT/n+bzWbDYhMRkWvjMk2wClYgYLsS2bNnD4cOHWL//v0cPHiQ3r1789hjjxkVooiIOElkZCQJCQmcPXvWan1gYCDHjh3LX05OTiYgIMDo8EREpAxcIgHx9/cnNTU1f+QSs9lMSkpKkUrkk08+oWfPnnh5eeHm5saYMWNISEhwRsgiIuJAGRkZnDhxIn95zZo1NGjQgPr161uVGzJkCGvXruXUqVOYzWYWL15MRESE0eGKiEgZuEQC4u3tTXBwMLGxsYClU2FQUFCR/h9NmzZl69atXL16FYD4+HjatWtneLwiIuJYGRkZ3HfffXTv3p0ePXrwwQcfsGLFCkwmE1FRUaxfvx6AZs2a8dRTT9G/f386duyIt7c3Y8eOdXL0IiJSHFN6erpLNJg9dOgQU6dO5ezZs3h6erJgwQLatm1LVFQUAwYMYODAgVy5coXHHnuM77//nmrVqtG4cWPefvvtIolKYZ6enjZHTxEREcjNzSUzM9PZYRhK9YKIiH2OrhdcJgFxJFU0IiL2KQEREZGCHF0v6NdXREREREQMowREREREREQMowREREREREQMowREREREREQMowREREREREQMowREREREREQMowREREREREQMowREREREREQMowREREREREQMowREREREREQMowREREREREQMowREREREREQMowREREREREQMowREREREREQMowRERERESpaWBkuXFl9m6VJLORGRYigBERERkeKlpUFYGIwfD3Pm2C4zZ45le1iYkhARKZYSEBEREbEvL/k4cMCyPGNG0SRkzhzLerCUUxIiIsVQAiIiIiK2FU4+8hRMQgomH3mUhIhIMZSAiIiIy8nKyiIyMpKQkBBCQ0OJiIggKSmpSLmEhAT8/PwIDQ3N/7t8+bITIq6k4uOLJh95ZsyAG28smnzkOXDAsr+ISCEezg5ARETElvHjx9O3b19MJhPvv/8+M2bM4PPPPy9SrnXr1mzZssX4AKuCceMgPd1+kvH77/b3jYmx7C8iUojegIiIiMu54YYb6NevHyaTCYAuXbqQmJjo3KCqquhoSzJRFjExlv1ERGxQAiIiIi7vvffeIzw83Oa2w4cP06tXL8LCwvjggw8MjqyKKEsSouRDREpgSk9PNzs7CEfz9PTEzU25loiILbm5uWRmZjo7DLvefPNN4uPj+fLLL6lVq5bVtoyMDMxmM/Xq1SMlJYWRI0fy2GOPMXz48GKPqXrhGt14Y/HNrpo3h6NHjYtHRBzC0fWCfn1FRMRlzZ07lzVr1rBq1aoiyQdA3bp1qVevHgD+/v6MGDGC7du3Gx1m1TBnTvHJB1i225snRETk/ygBERERlzRv3jxWr17NF198gZeXl80yJ0+eJDc3F4DMzEw2bNhAhw4dDIyyirA11K49tuYJEREpQE2wRESqOFdsgpWSkkL79u1p1qwZderUAaBGjRps3ryZqKgoBgwYwMCBA3n//fdZvHgx7u7u5OTkMHToUJ588sn8zuv2qF4og7IkHwWpL4hIheXoekEJiIhIFeeKCYijqV4opaVLYfx4+9ubNy++WdaSJRqKV6QCUh8QERERcY7wcGjb1va2mBhLh3N7o2O1bWvZX0SkEJdJQI4cOUK/fv0ICQmhT58+HDx40Ga5ffv2MWjQIG677TZuvfVW4uLiDI5URESkivD1hW++KZqEFGxeZWuI3rZtLfv5+hoRpYhUMC7TBOvuu+/m3nvv5b777uPLL79k3rx5bNq0yarMpUuX6N69OwsWLKBbt25kZ2eTnp5Oo0aNij22XrWLiNinJlhSorQ0CAuDAwfs9+3I6yui5EOkwqsSfUBOnz5NSEgIR48excPDA7PZTOvWrdm0aRNNmzbNL7ds2TK2bdvG+++/X6bjq6IREbFPCYiUSloaxMcX36dj6VJLsyslHyIVWpXoA5KSkoKfnx8eHh4AmEwmAgICOH78uFW5gwcPUqNGDUaPHk1oaCiTJ0/mzJkzzghZRESkavH1LblD+bhxSj5EpEQukYAARYZMNJuLvpi5evUqX3/9NW+//TYJCQkEBAQwc+ZMo0IUEREREZHr5BIJiL+/P6mpqWRnZwOW5CMlJYWAgACrckFBQYSGhtKkSRNMJhMjR45k586dzghZRERERESugUskIN7e3gQHBxMbGwtAXFwcQUFBVv0/AIYNG8auXbvIyMgA4KuvvuLmm282PF4REREREbk2LtEJHeDQoUNMnTqVs2fP4unpyYIFC2jbtq3VjLcAn376KXPmzMHd3Z0mTZoQExODv79/scdWZ0MREfvUCV1ERAqqEqNgOZoqGhER+5SAiIhIQVViFCwREREREakalICIiIiIiIhhlICIiIiIiIhhlICIiIiIiIhhlICIiIjD5ebm8umnnzo7DBHXkJYGS5cWX2bpUks5kUpICYiIiDjc1atXeeSRR5wdhojzpaVBWBiMHw9z5tguM2eOZXtYmJIQqZQ8nB2AiIhUDq+++qrdbVevXjUwEhEXlZd8HDhgWZ4xw/K/0dF/lZkz56/1Bw5Yyn/zDfj6GhmpiEMpARERkXLxxhtvMHjwYDw9PYtsy8nJcUJEIi6kcPKRp2ASUjD5yKMkRCqh65qIcPfu3XTs2LEcw3EMTTglImJfeU041bt3b55++mn69+9fZFtWVhZ+fn6cO3euVMfKyspi4sSJ/Prrr9SsWRNfX1/eeustmjZtWqTssmXLiImJITc3l969e/Pmm2/i4VH88zXVC2K4pUstzarsad4cfv/d/vYlS2DcuPKOSsQml56IMCwsjL59+7Jy5Uq9XhcRqeLGjRtn901HtWrVeOKJJ8p0vPHjx/Pjjz+ybds2+vfvz4zCT4aBxMREZs+eTXx8PLt27SItLY3ly5dfS/gijjVuHMTE2N9eXPIRE6PkQyqV60pA5s+fT25uLpMnT6Z9+/a8+OKLpKSklFdsIiJSgUycOJGBAwfa3Obu7s6TTz5Z6mPdcMMN9OvXD5PJBECXLl1ITEwsUi4uLo7Bgwfj4+ODyWRi4sSJrF69+priF3G46OjikxBbYmKs+4iIVALXlYCMGTOGzZs3s3nzZsLCwpg3bx4dO3Zk7NixJCQklFeMIiLiwl588UWHf8Z7771HeHh4kfXJyckEBgbmLwcFBXH8+HGHxyNyzcqShCj5kEqqXBrAdu7cmYULF7Jv3z6efPJJdu3axdChQ+nWrRsffvghWVlZ5fExIiLigubMmcNTTz1ld3tycvJ1Hf/NN9/k6NGjPPPMMza3570lATCbr7lbo4hxoqMtfT6K07y5kg+ptMq1B161atWoWbMm1atXx2w2c+nSJR599FFCQkL473//W54fJSIiLmL58uUsWbKE6dOnWyUAmZmZzJo1i9tuu+2ajz137lzWrFnDqlWrqFWrVpHtgYGBHDt2LH85OTmZgICAa/48EUPMmVN8nw+wbLc3T4hIBVcuCcgvv/zCjBkzaNeuHbNmzeLWW29l8+bN7Nmzh4SEBPz8/Gx2HhQRkYovPDyclStX8sUXXzBp0iSuXLnCokWL6Ny5M/PmzWP06NHXdNx58+axevVqvvjiC7y8vGyWGTJkCGvXruXUqVOYzWYWL15MRETEdZyNiIPZGmrXnhkzlIRIpXRdw/B+9tln/POf/2THjh00atSI8ePH87e//Q3fQuNUb926lYiICM6cOXPdAV8LDbcoImJfeQ23uGvXLu6++27c3Ny4cOECAwYMYNasWdx0001lPlZKSgrt27enWbNm1KlTB4AaNWqwefNmoqKiGDBgQH6H96VLl+YPw9urVy/eeustqlWrVuzxVS+IU5Ql+ShIfUHEYI4ehve6EpD69evToUMHJk+ezIgRI6hevbrNcomJibz22mvMnz//mgO9HqpoRETsK4+KZs+ePcyaNYstW7YA0LVrV9auXYu7u3s5RFj+VC+I4TQPiFQgLj0PyPr169m6dSuRkZF2kw+AZs2aOS35EBERx3rwwQfp06cPv/76K/PmzePf//43Bw4cIDIykitXrjg7PBHXEB4Obdva3hYTA0eP2h8dq21by/4ilcR1vQGpKPSkS0TEvut90hUQEMD06dOJioqiZs2aAPz888+MGDGCVq1asWLFivxmVK5C9YI4RVoahIXBgQN/rSvcvKpwM622beGbb6BQ83YRR3LpJlgVhSoaERH7rreiSUtLK9L3D+DQoUMMGzYMX19fvv766+sJsdypXhCnKZiE2OvbkZeEKPkQJ1ECUg5U0YiI2OfIiiYpKYnhw4fz008/OeT410r1gjhVWhrExxffp2PpUkuzKyUf4gRKQMqBKhoREfscXdHYe0PiTKoXRETsc+lO6CIiIiVxteRDREScSwmIiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgYxmUSkCNHjtCvXz9CQkLo06cPBw8etFs2KyuL22+/nTvuuMO4AEVERERE5Lq5TAIyY8YMxo0bx86dO4mOjiYqKspu2RdeeIEuXboYGJ2IiIiIiJQHl0hATp8+zZ49exg9ejQAQ4YMISkpiaSkpCJlt2/fzpEjR/LLioiIVHSXs2HJQbjvK+i3Bgatg6nfwrepYDY7OzoRkfLl4ewAAFJSUvDz88PDwxKOyWQiICCA48eP07Rp0/xyFy9e5KmnnuLTTz/lyJEjzgpXRESkXGRlw4s7Yf4+OHel6PYF++DmBvB8Fxh+o/HxiYg4gku8AQFL0lGQ2cYjn2effZYHH3yQJk2aGBWWiIiIQ2T8Cf3Wwks/2U4+8vxyFu7ZAC/tNC42ERFHcok3IP7+/qSmppKdnY2Hhwdms5mUlBQCAgKsyn3//fds3LiR1157jStXrpCenk7Xrl354YcfnBS5iIhI2eXkQsQGSDhR+n3+5z/QoAZMudlxcYmIGMEl3oB4e3sTHBxMbGwsAHFxcQQFBVk1vwJL/4+9e/eyd+9eFi1aRLt27ZR8iIhIhbP8N/jqeNH1fQPg5dvhqU7Qsl7R7f/vezh92fHxiYg4kkskIAAxMTEsWbKEkJAQ3n77bebOnQtAVFQU69evd3J0IiJitMcff5zg4GC8vLzYv3+/zTIJCQn4+fkRGhqa/3f5smvfoZvNMHev9TrvG+CHe2Dj3fBkZ5jdFX4dA693sy53ORs+tD9KvYhIhWBKT0+v9ONreHp64ubmMrmWiIhLyc3NJTMz09lhFPHdd9/RrFkzwsPDiY2NpV27dkXKJCQk8Mwzz7Bly5YyHduZ9cKu09B5tfW6Vf1gRAvb5UdvhJUFxl1pURcO3+e4+EREHF0v6K5cRERcUo8ePfD393d2GOXux9PWy361YHhz++WnFurzcSQD0ovptC4i4uqUgIiISIV2+PBhevXqRVhYGB988IGzwylRxp/Wy+0bgHsxtfEtDUs+hohIReISo2CJiIhci1tuuYV9+/ZRr149UlJSGDlyJA0bNmT48OHODs2u2tWslw+dt/QLKTQafb7f0ouuq1Ot6DoRkYpCb0BERKTCqlu3LvXqWYaL8vf3Z8SIEWzfvt3JURWvQ6E3GkmZsMnGiFh53i/U/75Jbahfo/zjEhExihIQERGpsE6ePElubi4AmZmZbNiwgQ4dOjg5quJ184U2XtbrHt4KRzOKll1xCBYXGvXqb23svy0REakIlICIiIhLmjlzJu3atSM1NZVhw4bRqVMnwHp49ri4OLp3706PHj3o27cvd9xxB/fff78zwy6RyQSPFOpY/nsmtP0Uxm2GZb/CvL3Q83MY8xUUHKrSww0eKjoYmIhIhaJheEVEqjhXHYbXkZxdL1zJgR6fw87TJZct6H+7wLO3OiYmEZE8GoZXRESkkqnhDmsHQvv6pd9nSnt4JsRxMYmIGEUJiIiIiBM0rgXbhsOENlCtmNrYtya829Pyp74fIlIZqAmWiEgVpyZYzpd2CRYdsIyGdfoyVHOHpnVgzE2WSQqruzs7QhGpShxdLygBERGp4pSAiIhIQeoDIiIiIiIilYYSEBERERERMYwSEBERERERMYwSEBERERERMYwSEBERERERMYwSEBERERERMYwSEBERERERMYwSEBERERERMYwSEBERERERMYyHswMQERGRiiPjT/jlLJy/ArWqQVsv8Knl7KhEpCJRAiIiIiIl+uk0zN0LKw5DVs5f691MMLgpTG0P/QLBZHJejCJSMSgBEREREbtyzfD49/DmHvvb4xItf0Oawcd3QZ1qBgYoIhWO+oCIiIiITWYzTN5qP/koLC4RBq6DrGyHhiUiFZwSEBEREbHpw4PwwQHb2/xrg7uN5lYJJ+CJHxwbl4hUbEpARETEJT3++OMEBwfj5eXF/v377ZZbtmwZnTt3pmPHjkRHR5Odrcfv5SHXDK/ssl5XzQ2eCYGT4+D4A3BuIszrCV7Vrcu9vx/+yDIuVhGpWJSAiIiISxo6dCjx8fEEBgbaLZOYmMjs2bOJj49n165dpKWlsXz5cgOjrLw2H4dD563XLQ6D528D3/8b9cqzOjxyM3w9xNIZPU9WDiw5aFysIlKxKAERERGX1KNHD/z9/YstExcXx+DBg/Hx8cFkMjFx4kRWr15tUISV25eJ1ss3N4D7brJdtpM3jGpR/P4iInlcJgE5cuQI/fr1IyQkhD59+nDwYNFHJ1u3buXOO+/k9ttvp1u3brzwwguYzWYnRCsiIq4gOTnZ6g1JUFAQx48fd2JElUfqRevlQU2LH2L37qbF7y8iksdlEpAZM2Ywbtw4du7cSXR0NFFRUUXKeHl5sWjRInbs2ME333zDd999pyddIiJVnKnAXbEeSpWfsk7nUfjKaz4QEbHHJRKQ06dPs2fPHkaPHg3AkCFDSEpKIikpyarcLbfcQrNmzQC44YYbCA4OJjEx0eBoRUTEVQQGBnLs2LH85eTkZAICApwYUeXhV9t6eW2iZVhee9ZYV9n4aXZ0EbHDJRKQlJQU/Pz88PCwzItoMpkICAgo9jV6WloaX375JX379jUqTBERcTFDhgxh7dq1nDp1CrPZzOLFi4mIiHB2WJXC0GbWy/vOwUe/2S678zSsOlL8/iIieVwiAQHrV+hQ/Gv0jIwM7r33XqZPn07Hjh0dHJmIiDjDzJkzadeuHampqQwbNoxOnToBEBUVxfr16wFo1qwZTz31FP3796djx454e3szduxYZ4ZdadwZAK3qWa+buAWe/gFO/F//jow/4Z2f4c44y7C9eW5whwltDAtVRCoYU3p6utMbzJ4+fZqQkBCOHj2Kh4cHZrOZ1q1bs2nTJpo2te7VlpmZSUREBHfddRePP/54qY7v6emJm5vL5FoiIi4lNzeXzMxMZ4dhKNULpfPhQZj4je1tjWvBqcvWiUeeGR3g7R6OjU1EHMfR9YJL/Pp6e3sTHBxMbGwsYBlWMSgoqEjyceHCBUaMGEGfPn1KnXyIiIjItRnfGia3s73t5CXbyUfvJvBKV8fGJSIVm0skIAAxMTEsWbKEkJAQ3n77bebOnQtYv2p/77332LlzJ2vXriU0NJTQ0FDeeOMNZ4YtIiJSaZlMML8XPNaxdOWHN4d1A6GGu0PDEpEKziWaYDmaXrWLiNinJlhSGrvPwLy98MlhuJz913o3k6XD+dSb4U5/Db8rUhk4ul5QAiIiUsUpAZGyuHAVfvkDzv8JtatBGy9oVNPZUYlIeXJ0veDhsCOLiIhIpVOnGnRt7OwoRKQi0+MfERERERExjBIQERERERExjBIQERERERExjBIQERERERExjBIQERERERExjBIQERERERExjBIQERERERExjBIQERERERExjBIQERERERExjBIQERERqTRyzbDhGERugk6roM2n0PVf8P+2w6/nnB2dOERaGixdWnyZpUst5cQleDg7ABEREZHyEPc7/L/v4fD5ott2nIK39kD/QHi3J7SoZ3x84gBpaRAWBgcOQHo6REcXLTNnDsyYAW3bwjffgK+v0VFKIXoDIiIiIhXe3L0wNN528lHQhmTo+hnsOm1MXOJABZMPsCQZc+ZYl8lLPsBSLixMb0JcgBIQERERqdD+dQSmbyt9+TNZMGAdpFxwXEziYIWTjzwFk5CCyUceJSEuQQmIiIi4pCNHjtCvXz9CQkLo06cPBw8eLFImISEBPz8/QkND8/8uX77shGjFWa7mQJSN5KN9fXitK6zoC4/eAvVrWG9PuwyzfjQmRnGA+PiiyUeeGTPgxhuLJh95Dhyw7C9Ooz4gIiLikmbMmMG4ceO47777+PLLL4mKimLTpk1FyrVu3ZotW7YYH6C4hC8S4cQl63XP3Wr5M5ksy6NbwjMhMPTf8O2Jv8p9fAhe7wZehZITqQDGjbP0+bCXZPz+u/19Y2Is+4vT6A2IiIi4nNOnT7Nnzx5Gjx4NwJAhQ0hKSiIpKcnJkYmrWVzoIfjtPtbJRx6vGvDRXeBR4M7ncjasOOz4GMVBoqMtyURZxMTY7qguhlICIiIiLiclJQU/Pz88PCwv6k0mEwEBARw/frxI2cOHD9OrVy/CwsL44IMPjA5VnOzns9bLD7YtmnzkCawD4YHW6/b+4Zi4xCBlSUKUfLgMNcESERGXZCp0F2k2m4uUueWWW9i3bx/16tUjJSWFkSNH0rBhQ4YPH25UmOJkF69aL7fyKr58Ky+gwIu0C1ftlZQKIzra0uG8uGZXzZsr+XAhegMiIiIux9/fn9TUVLKzswFL8pGSkkJAQIBVubp161KvXr38fUaMGMH27dsNj1ecp2516+U9JbzR2H2m+P2lAiop+QDL9sJD9IrTKAERERGX4+3tTXBwMLGxsQDExcURFBRE06ZNrcqdPHmS3NxcADIzM9mwYQMdOnQwPF5xni7e1ssL9kFOru2y+8/CNynW6271tl1WKghbQ+3aY2ueEHEKJSA2mM2QbefHq7LKNdv/wa6scnIt/9Yi4ppiYmJYsmQJISEhvP3228ydOxeAqKgo1q9fD1gSk+7du9OjRw/69u3LHXfcwf333+/MsMVgk9pZLx84Bw9ttXQwL+jIeRi9CQr+7HtVh5EtHB6iOEpZko88SkJcgik9Pb3S34J5enri5lZ8rpVyAf55AD45BL9nWhKQWh7QqZGlQ9vollCzkvWY+em05UnR2iRIu2T5Ua5fA/r4w8Pt4U5/+x35KqKcXFiXBAv3w7aTkPEnuJmgSS0YfiNMaQ9t6zs7ShHj5ebmkpmZ6ewwDFWaekEqhlwztPkUDhWaAb3hDXBvSwiqAzvSIC6p6MPF/3cLvNHduFilHC1dCuPH29/evHnxzbKWLNFQvMVwdL1Q5ROQjD8ts6d+9BvkFHMl6teAWbdCVHDFvyk/eA4mbbHchBenjRcs6AV3+BsRlWN9+TtEfwdJJfx/qX8gvN8bgjyNiUvEFSgBkYpuayr0XQNXy/Amv1U9+CGi6ASFUkHYmwkd/hrtyt4bkrZt4ZtvwNfX0VFWWEpAyoG9iub0ZcsPVkkd1gqa0h7e7Vlxk5DvT8LAdZD+Z+nKe7jBsj4w5ibHxuVIc/dakszS8qsFm+6G9g0cF5OIK1ECIpXBZ0dhzCb4sxRJSMt6sHEwNK/r+LjEgWwlIYWH2i2chCj5KBVH1wtV9tc3KxvuXl+25AMsTZae+69jYnK039Jh0PrSJx9geV39wNfwVdGh9yuEFYfKlnyAZUbd8LVw4qJjYhIRkfJ3z42wbbilGbE9NT3goXbw/XAlH5WCr68lmWjb1rJsa56PgvOEKPlwGVX2Dcjru+DxH6zLVXeD8W0sbUYb17JMTvTBAdhU6ObbBPwyGtpVsCfk/dfCxmTrdb41YerNMDAIqrvDlhR49xf4rVBb2qA6cOQ+6xlkXV3mnxC0vGjC1bERTG0P3Xwh8yp8mQgL9xUtN641LOljWLgiTqM3IFLZHDgHy36Fg+lwKdvSzKq7L4xtrSZXlVJaGsTHF9+nY+lSCA9X8lFKVaYJ1pEjR5gyZQp//PEH9erVY/78+bRp06ZIuWXLlhETE0Nubi69e/fmzTffzJ8p157CFU1OLrT8BBILXNfAOrD5brjJq+j+sYch8itLR7c8j9wM83qW9Syd59dz0GaF9brwQFjVH+pUs16fk2vpL/HuL9brPw+HYc0dG2d5WvALTE2wXve/XeCZkKJN6P7IgkHrYMepv9ZVd4OUB6BRTcfHKuJMSkBERKSgKtMEa8aMGYwbN46dO3cSHR1NVFRUkTKJiYnMnj2b+Ph4du3aRVpaGsuXLy/zZ21Itk4+wNLPwVbyAZYRsGYUGlZ+2a8Va/bUhfutl+vXgBV9iyYfAO5u8E4o3NLQev38X4qWdWUL9lkv9w+0nXyAZbSUVf0tSUeeP3Nh8UHHxigiIiJS1bhEAnL69Gn27NnD6NGjARgyZAhJSUkkJSVZlYuLi2Pw4MH4+PhgMpmYOHEiq1evLvPnbSjUDOmWhtC7SfH7TA+2Xs68ahnWr6Io3PRqYhuoV8xraDcTRBdKur5Jhas55R+bI5y8BHvPWq+b0aH4wQMC68CIQuPBF75uIiIiInJ9XCIBSUlJwc/PL78plclkIiAggOPHrTtfJCcnExgYmL8cFBRUpExpnL5svdw3oORRrZp6WobsKyjtUpk/2mlOFTrnuwJK3qdwmexcOHel/GJypMLnC6U7576Fytg6joiIiIhcO5dIQMCSdBRktjNFdcFy9sqIiIiIiIhrcokExN/fn9TUVLKzswFLYpGSkkJAgPXj6MDAQI4dO5a/nJycXKRMaXgX6lS86TiUlMskZRYdGcq3Vpk/2ml8Cp1zaYbVLVzGw63ijB5S+HyhdOdceMQzW8cRERERkWvnEgmIt7c3wcHBxMbGApa+HkFBQTRt2tSq3JAhQ1i7di2nTp3CbDazePFiIiIiyvx5/QOtl/f8YZlFtTjv7LVe9qwGt1egkdz6FTrnxQfhfDHNqXLNMOdn63V9/KGae/nH5giNa0FwoWGS3/65+EQz+QKsPmK9rvB3RURERESuj0skIAAxMTEsWbKEkJAQ3n77bebOnQtAVFQU69evB6BZs2Y89dRT9O/fn44dO+Lt7c3YsWPL/Fn9A6GZp/W6B76GQ+m2y8cehphCN+PjWtseQcpVPdzeevncFbh3k+2RvHJyLZP3FZ6kcUr7omVd2dSbrZc3JsMLO20nIX9kwcgN1jPo1nCHCUVHghYRERGR6+Ay84A4kq3x3t/YDY99b12uuhs80Np6IsJFB4s23TEB++6FtvUdGna5C19bdAQw35qWxGJAkOWGe0uqZbjdws3NmnrC4cjKMxHhlP+biDDjT4hLhPf3ayJCqbo0D4iIiBRUZSYidCRbFU1WNoTFwQ/XMJTuMyHw/G3lFJyBDqVD18/gbBlHsvJwg/hBcGfZu9s4Xexhy5uesgqsAzvuAb/a5R+TiKtRAiIiIgVVmYkIjXaDB8QNsDwNL4up7S2zaVdEN3nBuoFl60hezQ2W96mYyQdYJpGcG2p5a1VaTWpbEi4lHyIiIiLlr8omIGAZDevboZZ2/iU1LWpQw3IjO69nyXOGuLKujWH7cOjpV3LZtvVh091w702Oj8uRpgXDF+GWZmQlGRAEP9wD7RqUXFZEREREyq7KNsEqLPUifHAAPv4Nfs+Eq7lQ2wM6NYJJ7WBkC6jpYVDABtl1Gubvg3VJkHbZMvJVgxoQ5m950xPmX7GTrcJycuHfx+C9/bDtBJz/E9xNljcew5tb+oW0qWD9ekTKg5pgiYhIQeoDUg7KWtGYzZBjrlgdrq9Xrtly3u5V6JxzcsHNVLmSLJFroQREREQKcnS9UMme6ZcPkwk8qthNqZuJsnWUqASqUrIlIiIi4ip0CyYiIi7pyJEj9OvXj5CQEPr06cPBgwdtllu2bBmdO3emY8eOREdHk52dbXCkIiJSFlWiCVbt2rX1ql1ExI7c3FwuXrzo7DCKuPvuu7n33nu57777+PLLL5k3bx6bNlmPq52YmEh4eDjffvst3t7ejBkzhv79+zNhwoRij616QUTEPkfXC1UiARERkYrl9OnThISEcPToUTw8PDCbzbRu3ZpNmzbRtGnT/HLvvPMOx44d44033gBg48aNzJkzh3Xr1jkrdBERKYEe/4iIiMtJSUnBz88PDw9LV0WTyURAQADHjx+3KpecnExgYGD+clBQUJEyIiLiWpSAiIiISzIVGqLObLb9wr5gOXtlRETEdSgBERERl+Pv709qamp+h3Kz2UxKSgoBAQFW5QIDAzl27Fj+cnJycpEyIiLiWpSAiIiIy/H29iY4OJjY2FgA4uLiCAoKsur/ATBkyBDWrl3LqVOnMJvNLF68mIiICGeELCIipaRO6CIi4pIOHTrE1KlTOXv2LJ6enixYsIC2bdsSFRXFgAEDGDhwIABLly4lJiaG3NxcevXqxVtvvUW1atWcHL2IiNijBERERERERAyjJlg2lHbyq8ri8ccfJzg4GC8vL/bv3+/scBwuKyuLyMhIQkJCCA0NJSIigqSkJGeH5XDDhw+ne/fuhIaGMmDAAH7++Wdnh2SIV155pcp8t4ODg+nSpQuhoaGEhoby2WefOTskp6goExiWJs6EhAT8/Pzy/01DQ0O5fPmyYTGWtn5w9rUsTZzOvpZlqXuceT1LG6ezryeUvl5z5vUsTYyucC3zlFRnlte1VAJiw4wZMxg3bhw7d+4kOjqaqKgoZ4fkUEOHDiU+Pt5qKMvKbvz48fz4449s27aN/v37M2PGDGeH5HAffvgh27dvZ9u2bTzyyCNMmzbN2SE53O7du/nxxx+rVKfkpUuXsm3bNrZt28Y999zj7HCcojS/4YmJicyePZv4+Hh27dpFWloay5cvd7k4AVq3bp3/b7pt2zZq1qxpWIylqR9c4VqWth5z5rWE0tU9rnA9S1tHOvt6lqZec/b1LG3d6+xrCSXXmeV5LZWAFHL69Gn27NnD6NGjAUsHx6SkpEr9hLxHjx74+/s7OwzD3HDDDfTr1y9/6M4uXbqQmJjo3KAM4OXllf/fGRkZlX4W6CtXrvDYY4/xxhtvFBnOVSqv0v6Gx8XFMXjwYHx8fDCZTEycOJHVq1e7XJzOVpr6wdnXEipGPVbausfZ17Mi1ZGlqdecfT0rSt1bmjqzPK+lx/UEWxkVN/lV4dFXpHJ47733CA8Pd3YYhpg8eTLbtm0DMPwGwWizZ89m1KhRNGvWzNmhGGrSpEmYzWZCQkJ47rnnaNSokbNDMlRpf8OdPYFhWeqaw4cP06tXL9zd3bnvvvt48MEHDYuzNJx9LcvCla6lvbrH1a5ncXWkK1zPkuo1V7iepal7nX0tS1Nnlue1VAJiQ2knv5KK78033+To0aO8/fbbzg7FEAsXLgTgk08+4dlnn2XVqlVOjsgx/vOf//DTTz8xa9YsZ4diqPXr1xMYGMjVq1d58cUXmTJlSqX9Ny5ORZnAsDRx3nLLLezbt4969eqRkpLCyJEjadiwIcOHDzcqzFJx9rUsDVe6liXVPa5yPYuL01WuZ2nqNWdfz5JidPa1LEudWV7X0jXfAzlRaSe/kopv7ty5rFmzhlWrVlGrVi1nh2OoyMhIEhISOHv2rLNDcYjvvvuOQ4cO0aFDB4KDg0lNTSUiIoJNmzY5OzSHynsyVa1aNaZMmcL333/v5IiMV1EmMCxtnHXr1qVevXr5+4wYMYLt27cbFmdpOPtalparXMuS6h5XuZ4lxekq1zOPvXrNVa4n2I/R2deytHVmeV5LJSCFlHbyK6nY5s2bx+rVq/niiy+s2mdWVhkZGZw4cSJ/ec2aNTRo0ID69es7MSrH+fvf/87BgwfZu3cve/fupUmTJvzrX/+ib9++zg7NYS5evEh6enr+8urVqwkODnZeQE5SUSYwLG2cJ0+eJDc3F4DMzEw2bNhAhw4dDIuzNJx9LUvLFa5laeoeV7iepYnT2deztPWaM69naWN09rUsbZ1ZntdS84DYYG/yq8pq5syZrF+/nrS0NBo2bEjt2rXZtWuXs8NymJSUFNq3b0+zZs2oU6cOADVq1GDz5s1Ojsxxjh8/zgMPPEBWVhYmk4lGjRrxwgsvuNyNjKPk3ei1a9fO2aE4TGJiImPHjiUnJweApk2b8sorr1TJhycVZQLD0sT5/vvvs3jxYtzd3cnJyWHo0KE8+eSThg2sYK9+cLVrWZo4nX0ti6t7XOl6ljZOZ1/P4uo1V7mepY3R2deysIJ1pqOupRIQERERERExjJpgiYiIiIiIYZSAiIiIiIiIYZSAiIiIiIiIYZSAiIiIiIiIYZSAiIiIiIiIYZSAiIiIiIiIYZSAiIiIiIiIYZSAiIiIiIiIYZSAiIiIiBjg5MmT+Pv7M3HiRKv18fHx+bNki1QFSkBEDJCVlUXPnj3p1KkT58+fz1+flpZGq1atGDRoEDk5OU6MUEREHK1x48ZMnz6dzz//nN27dwOQkJDA+PHjmThxIs8884xzAxQxiBIQEQPccMMNLFmyhDNnzjBt2jQAcnNzmTRpEmazmUWLFuHu7u7kKEVExNGioqJo3Lgxzz33HD/99BORkZFERETw6quv5pc5c+YMo0aNokmTJoSEhPDNN984MWKR8ufh7ABEqooWLVrwzjvvMGHCBBYsWMC5c+fYtm0b//rXv2jcuLGzwxMREQPUqlWLf/zjH0ybNo27776bfv368c4772AymfLLzJw5Ex8fHw4fPsyWLVsYP348u3btokGDBk6MXKT8KAERMdDw4cPZtm0bzz77LDk5OTz66KOEhYU5OywRETFQy5YtATCZTMyfP9/qDfiFCxdYt24du3btolatWgwcOJCbb76ZdevWMXbsWGeFLFKu1ARLxGD3338/V69excPDg4cfftjZ4YiIiIF+/vlnRo8eTdeuXblw4QIfffSR1fYjR45Qu3ZtAgIC8te1a9eOgwcPGh2qiMMoAREx0MWLF5k8eTItW7bkhhtuICoqytkhiYiIQQ4dOkRERAS33XYba9asYeDAgbzyyitWg5NcvHgRT09Pq/3q1q3LxYsXjQ5XxGGUgIgY6O9//zvHjx9n+fLlzJ07l3//+9+8++67zg5LREQcLCkpiWHDhtGyZUuWLVtGtWrVmDVrFunp6bz11lv55WrXrk1mZqbVvhkZGdSuXdvokEUcRgmIiEGWLVvGypUref3112nbti1Dhw5l0qRJzJo1i507dzo7PBERcZCTJ08ybNgwGjVqRGxsLDVr1gSgVatW3H///bz33nskJSUBlgFLLl68SEpKSv7+Bw4coE2bNk6JXcQRTOnp6WZnByFS2e3bt4+77rqLYcOGsWDBgvz1V65coX///pw9e5Zvv/0WLy8v5wUpIiIuYdy4cdStW5fXXnuNrVu3MnnyZH766ScaNmzo7NBEyoUSEBEREREXcubMGaZMmcK2bdvw8/PjjTfeoE+fPs4OS6TcKAERERERERHDqA+IiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgYRgmIiIiIiIgY5v8DU5+uWHQGp1gAAAAASUVORK5CYII=",
      "text/html": "\n            <div style=\"display: inline-block;\">\n                <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n                    Figure\n                </div>\n                <img src='' width=800.0/>\n            </div>\n        ",
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "0c778f117b684846964cee159a64a057"
      }
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pos = y_train == 1\n",
    "neg = y_train == 0\n",
    "\n",
    "fig,ax = plt.subplots(1,2,figsize=(8,3))\n",
    "#plot 1, single variable\n",
    "ax[0].scatter(x_train[pos], y_train[pos], marker='x', s=80, c = 'red', label=\"y=1\")\n",
    "ax[0].scatter(x_train[neg], y_train[neg], marker='o', s=100, label=\"y=0\", facecolors='none', \n",
    "              edgecolors=dlc[\"dlblue\"],lw=3)\n",
    "\n",
    "ax[0].set_ylim(-0.08,1.1)\n",
    "ax[0].set_ylabel('y', fontsize=12)\n",
    "ax[0].set_xlabel('x', fontsize=12)\n",
    "ax[0].set_title('one variable plot')\n",
    "ax[0].legend()\n",
    "\n",
    "#plot 2, two variables\n",
    "plot_data(X_train2, y_train2, ax[1])\n",
    "ax[1].axis([0, 4, 0, 4])\n",
    "ax[1].set_ylabel('$x_1$', fontsize=12)\n",
    "ax[1].set_xlabel('$x_0$', fontsize=12)\n",
    "ax[1].set_title('two variable plot')\n",
    "ax[1].legend()\n",
    "plt.tight_layout()\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "Note in the plots above:\n",
    "- In the single variable plot, positive results are shown both a red 'X's and as y=1. Negative results are blue 'O's and are located at y=0.\n",
    "   - Recall in the case of linear regression, y would not have been limited to two values but could have been any value.\n",
    "- In the two-variable plot, the y axis is not available.  Positive results are shown as red 'X's, while negative results use the blue 'O' symbol.\n",
    "    - Recall in the case of linear regression with multiple variables, y would not have been limited to two values and a similar plot would have been three-dimensional."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## Linear Regression approach\n",
    "In the previous week, you applied linear regression to build a prediction model. Let's try that approach here using the simple example that was described in the lecture. The model will predict if a tumor is benign or malignant based on tumor size.  Try the following:\n",
    "- Click on 'Run Linear Regression' to find the best linear regression model for the given data.\n",
    "    - Note the resulting linear model does **not** match the data well. \n",
    "One option to improve the results is to apply a *threshold*. \n",
    "- Tick the box on the 'Toggle 0.5 threshold' to show the predictions if a threshold is applied.\n",
    "    - These predictions look good, the predictions match the data\n",
    "- *Important*: Now, add further 'malignant' data points on the far right, in the large tumor size range (near 10), and re-run linear regression.\n",
    "    - Now, the model predicts the larger tumor, but data point at x=3 is being incorrectly predicted!\n",
    "- to clear/renew the plot, rerun the cell containing the plot command."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "Canvas(footer_visible=False, header_visible=False, toolbar=Toolbar(toolitems=[('Home', 'Reset original view', …",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAGQCAYAAABWJQQ0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAA9hAAAPYQGoP6dpAABjrElEQVR4nO3deXQN9//H8edNYhdSEkkkIvZaQkhCYylSSwmhtJb6qrWqamvt9aWqRdX+tXRTRYpWq3bVlqK2tqio2ovYiyLELrn5/XF/udxsssjchNfjHOe4M5+Zec/ca8zrzucz1xQVFRWHiIiIiIiIARzsXYCIiIiIiDw5FEBERERERMQwCiAiIiIiImIYBRARERERETGMAoiIiIiIiBhGAURERERERAyjACIiIiIiIoZRABEREREREcMogIiIiIiIiGEUQERERERExDAKICIiIiIiYhgFEBERERERMYwCiIiIiIiIGEYBREREREREDKMAIiIiIiIihlEAERERERERwyiAiIiIiIiIYRRARERERETEMAogIiIiIiJiGAUQERERERExjAKIiIiIiIgYRgFEREREREQMowAiIiIiIiKGUQARERERERHDKICIiIiIiIhhFEBERERERMQwCiAiIiIiImIYBRCRR2DBggW4uLgk+cfHx8fe5WXIiRMncHFxYfPmzYZu9/z587Rr1w5fX19cXFyYNWtWivXNnz8/2XXFvz/ZTfy+xf8pVKgQZcuW5dVXX+X06dP2Li9T2etzZxSz2cyiRYto1qwZvr6+uLm5UbFiRXr06MFvv/2W5vXNmjWLFStWZEKlj56LiwsLFiyw27oTnq+LFi2Kn58fHTp0YOnSpZjN5nRt+88//2TcuHFcuXIlXcuLPEmc7F2AyONk3rx5FC1a1Gaak5P+maXHhx9+yLZt25g5cyYeHh4ZCnKNGzfmp59+eoTVGeutt96iSZMm3L17l507dzJ+/HgOHTrE+vXryZEjh73LyxQeHh789NNPlCtXzt6lPHIxMTF07tyZ77//ng4dOvD666/j4uLCyZMn+e6772jcuDFRUVFpWudHH31EcHAwYWFhmVP0I/TTTz9RokQJe5dhPV/fuXOH06dP8+OPP9KtWzfmzp3LV199RZ48edK0vr179zJ+/Hjatm3LU089lUlVizwedGUk8gj5+flRsmRJe5fxWDh06BAV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x5s5cya1atXijTfe4KuvvsLV1ZWFCxfy3//+ly5duuDq6kqHDh3w8vKib9++j7zmTz75hBkzZjBnzhxy5MhBp06dbLqEJaVLly7WJ3p9++233Lt3D09PT2rWrGnz1KOkjBgxgsKFC/PFF1/w+eefU6hQIdq1a8fIkSMzdEExZ84c62NJHxQZGZnudYLlKUJly5Zl9uzZzJ49G5PJhJeXF3Xr1rU+9ebpp5/m888/Z9y4cdbfVOnZsyeXLl3KlN8qAHjzzTeZO3cu48ePZ9GiRamqEyA8PJzBgwczatQoHBwcaNKkCW+//Ta9evWiQIECD92uv78/P//8M+PHj2fIkCFcu3YNV1dXKleuTPfu3QEoVaoUefLkYcKECZw/f578+fNTrVo1li5dan2MaZUqVZg/fz6nTp3CwcGB0qVL89lnnxEaGprstjPrs2P0NpycnAgPD+err77iyy+/ZOnSpdy8eRMPDw9q1qzJunXrrG0/++wzBg0axNtvv42DgwONGzfmiy++SPSUqHfeeYd+/frRpUsXbt26Rfv27fnoo49S9X4BvPLKK1y/fp1Zs2axePFiypcvz2effWZ9/G+8Bg0asHjxYsaPH0+XLl3ImTMntWrVYvTo0cl223yY0NBQli5dyoQJE6xdzXx9fa2/ZZJZ58T483Xu3LlxdXWlSpUqzJkzhxYtWth0H6tfvz6TJk1i+vTprFq1ilKlSvHee+/x448/Wh+JDZanXw0dOpR58+Yxb948zGYze/bsscv5QSSrM0VFRaX86BEReSzF/3DWH3/8oV9vf8INHDiQdevWERERYe9SJAv5448/CAkJSTT2QkQko3QHRETkCbJgwQKuXbtG+fLluXPnDuvXr2fOnDnW8STyZIqMjGT27NkEBwfj7OzMoUOHmDJlCgEBAQQHB9u7PBF5zCiAiIg8QfLly8esWbM4ceIEd+/epVSpUkycOPGR/5ibZC958uRh//79LFq0iKtXr1KoUCEaNWrE6NGj0/zUNhGRh1EXLBERERERMYwewysiIiIiIoZRABEREREREcMogIiIiIiIiGEUQERERERExDAKICIiIiIiYhgFEBERERERMYx+BySLypcvHw4OyociIiIiWYHZbObGjRv2LuOxoACSRTk4OCiAiIiIiMhjR1e4IiIiIiJiGAUQERERERExjAKIiIiIiIgYRgFE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SNahAPLo6ApXREREREQMowAiIiIiIiKGUQARERERERHDKICIiIiIiIhhFEBERERERMQwCiAiIiIiImIYBRARERERETGMAoiIiIiIiBhGAURERERERAyjACIiIiIiIoZRABEREREREcMogIiIiIiIiGEUQERERERExDAKICIiIiIiYhgFEBERERERMYwCiIiIiIiIGEYBREREREREDKMAIiIiIiIihlEAERERERERwyiAiIiIiIiIYRRARERERETEMAogIiIiIiJiGAUQERERERExjAKIiIiIiIgYRgFEREREREQMowAiIiIiIiKGUQARERERERHDKICIiIiIiIhhFEBERERERMQwCiAiIiIiImIYBRARERERETGMAoiIiIiIiBhGAURERERERAyjACIiIiIiIoZRABEREREREcMogGTA0aNHadSoEQEBAYSEhHDw4MEk2+3bt4/Q0FCqV69OYGAgK1asMLhSEREREZGswRQVFRVn7yKyq+bNm9OuXTs6dOjA8uXLmTFjBj/99JNNm5s3b1KzZk0++ugjgoODiYmJISoqCldX1xTX7ezsjIOD8qGIiIhIVmA2m4mOjrZ3GY8FXeGm08WLF9mzZw9t27YFICwsjBMnTnDixAmbdt9++y3Vq1cnODgYACcnp4eGDxERERGRx5UCSDqdOXMGT09PnJycADCZTHh7e3P69GmbdgcPHiRXrly0bduW2rVr89prr/Hvv//ao2QREREREbtTAMkAk8lk8zouLnFvtnv37vHzzz8zZcoUNm/ejLe3NwMHDjSqRBERERGRLEUBJJ28vLw4e/YsMTExgCV8nDlzBm9vb5t2Pj4+1K5dm6JFi2IymXjppZfYtWuXPUoWEREREbE7BZB0cnNzw8/Pj6+//hqAFStW4OPjQ/HixW3atWzZkt27d3Pt2jUA1q1bR6VKlQyvV0REREQkK9BTsDLgyJEj9OrVi8uXL+Ps7MxHH31E+fLl6dOnD02aNKFp06YALFq0iGnTpuHo6EjRokWZOnUqXl5eKa5bT8ESERERyTr0FKxHRwEki1IAEREREck6FEAeHV3hioiIiIiIYRRARERERETEMAogIiIiIiJiGAUQERERERExjAKIiIiIiIgYRgFEREREREQMowAiIiIiIiKGUQARERERERHDPHEBZOvWrfYuQURERETkifXEBZA2bdpQpUoVxowZw7Fjx+xdjoiIiIjIE+WJCyCHDh1i8ODB/PbbbwQFBdG4cWO++OILoqKi7F2aiIiIiMhjzxQVFRVn7yLs5fTp03zzzTd8/fXXREZG8vzzz9O+fXsaNWqEyWSya23Ozs44ODxx+VBEREQkSzKbzURHR9u7jMfCE32F6+3tTfXq1QkKCsJsNrN//37eeOMN/P392bRpk73LExERERF57DjZuwB7OHr0KIsWLWLx4sVER0fTunVrvv/+ewICArh37x4TJkzg9ddfZ//+/fYuNdWCv7N3BSLyJNveyt4ViIhIdvHEdcF67rnn+PPPP6lbty4vv/wyoaGh5MqVy6bNhQsXKFeuHFeuXLFTlWnvgmX6KBOLERF5iLjX7V2BiEjmUhesR+eJuwPSvHlzvvzySzw9PZNtU6RIEbuGDxERERGRx9UTF0D69+9v7xJERERERJ5YT/QgdBERERERMdYTdwfkcfWMu70rEBERERF5uCduEHp2od8BEREREck6NAj90dEVroiIiIiIGEYBREREREREDKMAIiIiIiIihlEAERERERERwyiAiIiIiIiIYRRARERERETEMAogIiIiIiJiGAUQERERERExjAKIiIiIiIgYRgFEREREREQMowAiIiIiIiKGUQARERERERHDKICIiIiIiIhhFEBERERERMQwCiAZcPToURo1akRAQAAhISEcPHgw2ba3b9+mRo0a1KtXz7gCRURERESyGAWQDOjfvz+dOnVi165d9OvXjz59+iTb9r333iMoKMjA6kREREREsh4FkHS6ePEie/bsoW3btgCEhYVx4sQJTpw4kajttm3bOHr0qLWtiIiIiMiTSgEknc6cOYOnpydOTk4AmEwmvL29OX36tE27GzduMGzYMCZPnmyPMkVEREREshQFkAwwmUw2r+Pi4hK1GTlyJN27d6do0aJGlSUiIiIikmWZoqKiEl81y0NdvHiRgIAAjh07hpOTE3FxcZQrV46ffvqJ4sWLW9vVrFmT6OhoAO7cuUNUVBQlS5bk119/TXH9zs7OODgoH4qIiIhkBWaz2XpNJxmjK9x0cnNzw8/Pj6+//hqAFStW4OPjYxM+wDL+Y+/evezdu5fPP/+cChUqPDR8iIiIiIg8rhRAMmDq1KnMnTuXgIAApkyZwvTp0wHo06cPa9assXN1IiIiIiJZj7pgZVHqgiUiIiKSdagL1qOjK1wRERERETGMAoiIiIiIiBhGAURERERERAyjACIiIiIiIoZRABEREREREcMogIiIiIiIiGEUQERERERExDAKICIiIiIiYhgFEBERERERMYwCiIiIiIiIGEYBREREREREDKMAIiIiIiIihlEAERERERERwyiAiIiIiIiIYRRARERERETEMAogIiIiIiJiGAUQERERERExjAKIiIiIiIgYRgFEREREREQMowAiIiIiIiKGUQARERERERHDKICIiIiIiIhhFEBERERERMQwCiAiIiIiImIYBRARERERETGMAoiIiIiIiBhGAURERERERAyjACIiIiIiIoZRABEREREREcMogIiIiIiIiGEUQERERERExDAKICIiIiIiYhgFEBERERERMYwCiIiIiIiIGEYBREREREREDKMAkgFHjx6lUaNGBAQEEBISwsGDBxO12bRpE8899xw1atQgODiY9957j7i4ODtUKyIiIiJifwogGdC/f386derErl276NevH3369EnUxsXFhc8//5zffvuNDRs2sHXrVr799ls7VCsiIiIiYn8KIOl08eJF9uzZQ9u2bQEICwvjxIkTnDhxwqZdlSpV8PX1BSB37tz4+fkRGRlpcLUiIiIiIlmDAkg6nTlzBk9PT5ycnAAwmUx4e3tz+vTpZJc5f/48y5cvp2HDhkaVKSIiIiKSpSiAZIDJZLJ5ndLYjmvXrtGuXTv69u2Lv79/JlcmIiIiIpI1KYCkk5eXF2fPniUmJgawhI8zZ87g7e2dqG10dDQvvvgiTZo0oXfv3kaXKiIiIiKSZSiApJObmxt+fn58/fXXAKxYsQIfHx+KFy9u0+769eu8+OKLhISEMHjwYHuUKiIiIiKSZZiioqL0TNh0OnLkCL169eLy5cs4Ozvz0UcfUb58efr06UOTJk1o2rQpEydO5IMPPuDpp5+2LteyZUsGDhyY4rqdnZ1xcFA+FBEREckKzGYz0dHR9i7jsaAAkkUpgIiIiIhkHQogj46ucEVERERExDAKICIiIiIiYhgFEBERERERMYwCiIiIiIiIGEYBREREREREDKMAIiIiIiIihlEAERERERERwyiAiIiIiIiIYRRARERERETEMAogIiIiIiJiGCd7FyAiIiIiybt27RpXr161dxlPHCcnJ9zd3XFw0Pf1j5oCiIiIiEgW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hov4af/++y8AR44cwdnZ2WZ+UFAQMTExHD9+3DqtcuXKD91u7969OXToEFOmTKFUqVLMnDmT4OBgzp07l+Jyffv2JU+ePEyaNMk6bf/+/YwcORIvLy/rn4ULFxIZGfnQOkREJHPpDoiIyBPCwcGBmJgYm2kJXwPkyJHD+neTyZTktPhuUkl1l4pf5kF58+ZNVY1PPfUUL7zwAi+88ALDhg0jICCAOXPmMHz48CTbT58+nc2bN7Nx40abge03btzgvffe47nnnrNpnzt37lTVISIimUcBRETkCeHq6sru3butr+/evcuRI0cy9FjesmXLEh0dzcGDB613QX7//XecnJwoUaJEhuotWLAgRYoU4ebNm0nO/+WXXxg3bhxLly7F09PTZl6lSpWIjIykZMmSGapBREQePQUQEZEnRM2aNZk5cyYrVqzg6aefZtq0ady7dy9D6yxbtiwhISH07t2biRMncvv2bYYMGUKHDh2s4z9SY/fu3UyePJl27dpRrlw5YmNjWbx4MQcOHGDcuHGJ2v/zzz906dKF/v374+vry/nz5wHLHY6CBQvy1ltv0aVLF4oWLUrjxo25desW27dvx9XVlVatWmVon0VEJGM0BkRE5AnRqFEj3njjDd58801CQ0OpWLFiqsZmPMzHH3+Mp6cnoaGhtGnThuDgYMaOHZumdRQrVgwPDw9Gjx7Ns88+S6NGjdi8eTPz5s2jbt26idofOXKES5cuMXbsWMqVK2f9M3ToUACaNm3K7Nmz+frrr6lZsyYtW7bkhx9+oFixYhneXxERyRj9ErqIiIiIiBhGd0BERERERMQwCiAiIiIiImIYBRARERERETGMAoiIiIiIiBhGAURERERERAyjACIiIiIiIoZRABEREREREcMogIiIiIiIiGEUQERERERExDAKICIiIiIiYhgFEBERERERMYwCiIiIiIiIGEYBREREREREDKMAIiIiIiIihlEAERERERERwyiAiIiIiIiIYRRARERERETEMAogIiIiIiJiGAUQERERERExjAKIiIiIiIgYxsneBTwuglbm4/Jd5TkRydoK5TSzo/mNR7rOfPny4eCg85+IZG1ms5kbNx7t+U/SRwHkEbl814FLd/QfsIg8eRwcHBRAREQk1fQ/hoiIiIiIGEYBREREREREDKMuWCIiYriOHTty9epVe5eRSMGCBQkP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XnrJ3qWkWvxnByxPnfr7779txoFkVXfv3iUoKIj169en6/dezGaz9a6L2JfugIhkNUe3wtJB/z8WA8vTqLJj+ACo3w+2Jd994ZG7d9vylDWFD3lMNGjQgDt37nD79m0aNGhA586dUzVPjBP/tK3sZOjQoWzdupW7d+9SokSJbPNY2+PHjzNu3Lh0hQ/JWnQH5BHRHRARyQ50B0REnlS6A5J16H8MERERERExjAKIiIiIiIgYRgFEREREREQMowAiIiIiIiKGUQARERERERHDKICIiIiIiIhh9Dsgj0ihnGZ7lyAi8lCZca4ym3X+E5GsT+eqrEO/AyIiIiIiIoZRFywRERERETGMAoiIiIiIiBhGAURERERERAyjACIiIiIiIoZRABEREREREcMogIiIiIiIiGEUQERERERExDAKICIiIiIiYhgFEBERERERMYwCiIiIiIiIGEYBREREREREDKMAIiIiIiIihlEAERERERERwyiAiIiIiIiIYRRARERERETEMAogIiIiIiJiGAUQERERERExjAKIiIiIiIgYRgFEREREREQMowAiIiIiIiKGUQARERERERHD/B8cmkOC509QRgAAAABJRU5ErkJggg==",
      "text/html": "\n            <div style=\"display: inline-block;\">\n                <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n                    Figure\n                </div>\n                <img src='' width=800.0/>\n            </div>\n        ",
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "808d426b720d4c2eadf0c89872f7fe84"
      }
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "w_in = np.zeros((1))\n",
    "b_in = 0\n",
    "plt.close('all') \n",
    "addpt = plt_one_addpt_onclick( x_train,y_train, w_in, b_in, logistic=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "The example above demonstrates that the linear model is insufficient to model categorical data. The model can be extended as described in the following lab."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## Congratulations!\n",
    "In this lab you:\n",
    "- explored categorical data sets and plotting\n",
    "- determined that linear regression was insufficient for a classification problem."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}